Fix a memory leak. (#321032, Peter Zelezny)
authorMatthias Clasen <matthiasc@src.gnome.org>
Tue, 15 Nov 2005 15:38:53 +0000 (15:38 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 15 Nov 2005 15:38:53 +0000 (15:38 +0000)
* gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
leak.  (#321032, Peter Zelezny)

ChangeLog
ChangeLog.pre-2-10
gtk/gtktreestore.c

index 90ddf99ad3dfa3614f0a0c231297e3d633b387d1..0e7ec44b3d0c36517e53fd0f7b675bab1aa5eb08 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
+       leak.  (#321032, Peter Zelezny)
+
 2005-11-15  Michael Natterer  <mitch@imendio.com>
 
        * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
index 90ddf99ad3dfa3614f0a0c231297e3d633b387d1..0e7ec44b3d0c36517e53fd0f7b675bab1aa5eb08 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
+       leak.  (#321032, Peter Zelezny)
+
 2005-11-15  Michael Natterer  <mitch@imendio.com>
 
        * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
index ca969144211c167d8d30870f9856be9cbfc1f7f8..914997ad795207dc3d6edca756db2b0d96a5a70b 100644 (file)
@@ -2258,7 +2258,6 @@ gtk_tree_store_move (GtkTreeStore *tree_store,
   if (depth)
     {
       gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_store), &parent_iter, path);
-      gtk_tree_path_free (path);
 
       parent = G_NODE (parent_iter.user_data);
     }
@@ -2323,7 +2322,7 @@ gtk_tree_store_move (GtkTreeStore *tree_store,
          b = G_NODE (dst_b.user_data);
        }
 
-      /* if a is NULL, a is NULL too -- we are at the end of the list
+      /* if a is NULL, b is NULL too -- we are at the end of the list
        * yes and we leak memory here ...
        */
       if (position)
@@ -2466,17 +2465,18 @@ gtk_tree_store_move (GtkTreeStore *tree_store,
 
   if (depth)
     {
-      path = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter);
+      tmppath = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter);
       gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store),
-                                    path, &parent_iter, order);
+                                    tmppath, &parent_iter, order);
     }
   else
     {
-      path = gtk_tree_path_new ();
+      tmppath = gtk_tree_path_new ();
       gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store),
-                                    path, NULL, order);
+                                    tmppath, NULL, order);
     }
 
+  gtk_tree_path_free (tmppath);
   gtk_tree_path_free (path);
   if (position)
     gtk_tree_path_free (pos_path);